<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description"
    content="OneMore is an add-in for OneNote with simple and powerful features that make OneNote a better OneNote">
  <meta name="author" content="Steven M Cohn">
  <meta name="generator" content="OneMore">
  <title>OneMore - a OneNote add-in</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha2/dist/css/bootstrap.min.css" rel="stylesheet"
    integrity="sha384-aFq/bzH65dt+w6FI2ooMVUpc+21e0SRygnTpmBvdBgSdnuTN7QbdgL+OapgHtvPp" crossorigin="anonymous">
  <link href="/nav.css" rel="stylesheet">
  <link href="/toc.css" rel="stylesheet">
</head>

<body>
  <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
    <symbol id="book-half" viewBox="0 0 16 16">
      <path fill="currentColor" fill-rule="evenodd"
        d="M8.5 2.687c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z">
      </path>
    </symbol>
    <symbol id="three-dots" viewBox="0 0 16 16">
      <path fill="currentColor" fill-rule="evenodd"
        d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z">
      </path>
    </symbol>
    <symbol id="facebook">
      <path fill="currentColor" fill-rule="evenodd"
        d="M480,257.35c0-123.7-100.3-224-224-224s-224,100.3-224,224c0,111.8,81.9,204.47,189,221.29V322.12H164.11V257.35H221V208c0-56.13,33.45-87.16,84.61-87.16,24.51,0,50.15,4.38,50.15,4.38v55.13H327.5c-27.81,0-36.51,17.26-36.51,35v42h62.12l-9.92,64.77H291V478.66C398.1,461.85,480,369.18,480,257.35Z">
      </path>
    </symbol>
    <symbol id="github">
      <path fill="currentColor" fill-rule="evenodd"
        d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z">
      </path>
    </symbol>
    <symbol id="heart">
      <path stroke="#FF0000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
        d="M12 7.69431C10 2.99988 3 3.49988 3 9.49991C3 15.4999 12 20.5001 12 20.5001C12 20.5001 21 15.4999 21 9.49991C21 3.49988 14 2.99988 12 7.69431Z">
      </path>
    </symbol>
  </svg>

  <script src="https://code.jquery.com/jquery-3.5.1.min.js"
    integrity="sha384-ZvpUoO/+PpLXR1lu4jmpXWu80pZlYUAfxl5NsBMWOEPSjUn/6Z/hRTt8+pR6L4N2"
    crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha2/dist/js/bootstrap.bundle.min.js"
    integrity="sha384-qKXV1j0HvMUeCBQ+QVp7JcfGl760yU08IQ+GpUo5hlbpg51QRiuqHAJz8+BrxE/N"
    crossorigin="anonymous"></script>

  <!-- Navbar -->
  <nav class="navbar navbar-expand-lg bg-body-tertiary fixed-top" aria-label="OneMore-navbar">
    <div class="container-fluid">
      <a class="navbar-brand" href="/">
        <img src="/Logo.png" alt="OneMore" height="45" class="logo d-inline-block align-text-middle">
        <div class="logo-text">OneMore</div>
      </a>

      <div class="navbar-toggler d-flex d-lg-none order-3 p-2" style="display:block">
        <button class="navbar-toggler navbar-dark" type="button" data-bs-toggle="offcanvas"
          data-bs-target="#offcanvasResponsive" aria-controls="offcanvasResponsive" aria-label="TOC">
          <svg class="bi" aria-hidden="true">
            <use xlink:href="#book-half"></use>
          </svg>
        </button>

        <button class="navbar-toggler navbar-dark" type="button" data-bs-toggle="collapse"
          data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
          aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>

      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <div class="navbar-nav me-auto mb-2 mb-lg-0">
          <!-- TODO class+active aria-currrent=page -->
          <a class="nav-link" href="/get-started/index.html" id="get-started-section">Get started</a>
          <a class="nav-link" href="/the-basics/index.html" id="the-basics-section">The Basics</a>
          <a class="nav-link" href="/commands/index.html" id="commands-section">Commands</a>
          <a class="nav-link" href="/context-menus/index.html" id="context-menus-section">Context Menus</a>
          <a class="nav-link" href="/developers/index.html" id="developers-section">Developers</a>
        </div>
        <div class="d-flex">
          <a class="nav-link nav-glyph py-2 px-lg-2" href="https://facebook.com/OneMoreAddIn" target="_blank" rel="noopener">
            <svg width="22px" height="22px" viewBox="0 0 512 512" id="fbglyph" xmlns="http://www.w3.org/2000/svg"
              stroke="#FFFFFF" role="img" class="navbar-nav-svg">
              <title>OneMore on Facebook</title>
              <use xlink:href="#facebook"></use>
            </svg>
            <small class="d-lg-none ms-2">Facebook</small>
          </a>
          <a class="nav-link nav-glyph py-2 px-lg-2" href="https://github.com/stevencohn/OneMore" target="_blank" rel="noopener">
            <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" class="navbar-nav-svg"
              viewBox="0 0 512 499.36" role="img">
              <title>See the project on GitHub</title>
              <use xlink:href="#github"></use>
            </svg>
            <small class="d-lg-none ms-2">GitHub</small>
          </a>
          <a class="nav-link nav-glyph py-2 px-lg-2" href="https://github.com/sponsors/stevencohn" target="_blank" rel="noopener">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="navbar-nav-svg" viewBox="0 0 24 24"
              role="img" fill="none">
              <title>Please consider a donation</title>
              <use xlink:href="#heart"></use>
            </svg>
            <small class="d-lg-none ms-2">Donate</small>
          </a>
        </div>
      </div>
    </div>
  </nav>

  <div class="wrapper">

    <!-- Sidebar -->
    <nav id="sidebar" style="background-color:#EBE5E1; " aria-label="Sidebar">
      <div class="offcanvas-lg offcanvas-end" tabindex="-1" id="offcanvasResponsive"
        aria-labelledby="offcanvasResponsiveLabel">
        <div class="offcanvas-header">
          <h5 class="offcanvas-title" id="offcanvasResponsiveLabel">Get Started</h5>
          <button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#offcanvasResponsive"
            aria-label="Close"></button>
        </div>
        <div class="offcanvas-body">
          <ul class="navbar-nav">
            <li><a id="setup" href="Setup.htm">Setup</a></li>
<li><a id="building-the-installer" href="Building The Installer.htm">Building The Installer</a></li>
<li><a id="debugging-onemore" href="Debugging OneMore.htm">Debugging OneMore</a></li>
<li><a id="experimental-features" href="Experimental Features.htm">Experimental Features</a></li>
<li><a id="how-to-add-a-new-command" href="How to Add A New Command.htm">How to Add A New Command</a></li>
<li><a id="how-to-add-a-settings-sheet" href="How to Add A Settings Sheet.htm">How to Add A Settings Sheet</a></li>
<li><a id="language-translations" href="Language Translations.htm">Language Translations</a></li>
<li><a id="logging-options" href="Logging Options.htm">Logging Options</a></li>
<li><a id="scripts" href="Scripts.htm">Scripts</a></li>
<li><a id="smoke-tests" href="Smoke Tests.htm">Smoke Tests</a></li>
<li><a id="references" href="References.htm">References</a></li>
<li><a id="design---command-framework" href="Design - Command Framework.htm">Design - Command Framework</a></li>
<li><a id="design---command-service" href="Design - Command Service.htm">Design - Command Service</a></li>
<li><a id="design---hashtags" href="Design - Hashtags.htm">Design - Hashtags</a></li>
<li><a id="technote---colors" href="TechNote - Colors.htm">TechNote - Colors</a></li>
<li><a id="technote---com-registration" href="TechNote - COM Registration.htm">TechNote - COM Registration</a></li>
<li><a id="technote---com-surrogate" href="TechNote - COM Surrogate.htm">TechNote - COM Surrogate</a></li>
<li><a id="technote---editing-text" href="TechNote - Editing Text.htm">TechNote - Editing Text</a></li>
<li><a id="technote---interop" href="TechNote - Interop.htm">TechNote - Interop</a></li>
<li><a id="technote---styles" href="TechNote - Styles.htm">TechNote - Styles</a></li>
          </ul>
        </div>
      </div>
    </nav>

    <!-- Page Content -->
    <div id="content" style="margin-left: 30px; margin-top:100px;">
      <DIV style="DIRECTION: ltr">
<DIV style="WIDTH: 8.398in; MARGIN-TOP: 0in; DIRECTION: ltr; MARGIN-LEFT: 0in">
<DIV style="WIDTH: 2.864in; MARGIN-TOP: 0in; DIRECTION: ltr; MARGIN-LEFT: 0.021in">
<P lang=yo style='FONT-SIZE: 20pt; FONT-FAMILY: "Calibri Light"; MARGIN: 0in'>Debugging OneMore</P></DIV>
<DIV style="WIDTH: 2.422in; MARGIN-TOP: 0.042in; DIRECTION: ltr; MARGIN-LEFT: 0.021in">
<P style="FONT-SIZE: 10pt; FONT-FAMILY: Calibri; COLOR: #767676; MARGIN: 0in">Sunday, February 19, 2023</P>
<P style="FONT-SIZE: 10pt; FONT-FAMILY: Calibri; COLOR: #767676; MARGIN: 0in">9:40 AM</P></DIV>
<DIV style="WIDTH: 8.398in; MARGIN-TOP: 0.434in; DIRECTION: ltr; MARGIN-LEFT: 0in">
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">There are two ways to attach the Visual Studio debugger to OneMore. You can either force a break point or attach to a running instance.</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H1 lang=yo style="FONT-SIZE: 16pt; FONT-FAMILY: Calibri; COLOR: #1e4e79; MARGIN: 0in">Inject A Debugger Break Point</H1>
<P lang=yo style="MARGIN: 0in"><SPAN style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri">The first is to&nbsp;instrument&nbsp;the source code by adding a call to the </SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Lucida Console"; BACKGROUND: #e8e8e8; COLOR: #172b4d'>Debugger.Launch</SPAN><SPAN style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri"> method where you want to start the debugger</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style='FONT-SIZE: 9pt; FONT-FAMILY: "Lucida Console"; COLOR: #172b4d; MARGIN: 0in 0in 0in 0.375in'><SPAN style="BACKGROUND: #e8e8e8">System.Diagnostics.Debugger.Launch();</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">This will cause Visual Studio to launch the&nbsp;<SPAN style="FONT-STYLE: italic">Attach Debugger</SPAN>&nbsp;dialog. This is most useful when you already have the OneMore solution open in Visual Studio so you can attach using that VS instance with all of the source code and symbols ready to go.</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">If the <SPAN style="FONT-STYLE: italic">Attach Debugger</SPAN> dialog does not appear and instead a new instance of VS is opened then&nbsp;<A href="https://docs.microsoft.com/en-us/visualstudio/debugger/debug-using-the-just-in-time-debugger">check this out from Microsoft about the Just in Time Debugger settings</A>.</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H1 lang=yo style="FONT-SIZE: 16pt; FONT-FAMILY: Calibri; COLOR: #1e4e79; MARGIN: 0in">Attach to A Running Instance</H1>
<P lang=yo style="MARGIN: 0in"><SPAN style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri">Alternatively, you can attach the Visual Studio debugger directly to the running OneMore process. OneMore runs in a process named </SPAN><SPAN style='FONT-SIZE: 9pt; FONT-FAMILY: "Lucida Console"; BACKGROUND: #e8e8e8; COLOR: #172b4d'>dllhost</SPAN><SPAN style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri">, of which there are many. There are two ways to identify which instance is the OneMore process.</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H3 lang=yo style="FONT-SIZE: 12pt; FONT-FAMILY: Calibri; COLOR: #5b9bd5; MARGIN: 0in">Use the Log File</H3>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">Look in the OneMore log file. The process ID is stated in the first line of each session in the log; this is the line beginning with "Starting dllhost".</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style='FONT-SIZE: 9.5pt; FONT-FAMILY: "Lucida Console"; COLOR: black; MARGIN: 0in 0in 0in 0.375in'><SPAN style="BACKGROUND: #e9e9e9">Starting dllhost 19712, ...</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H3 lang=yo style="FONT-SIZE: 12pt; FONT-FAMILY: Calibri; COLOR: #5b9bd5; MARGIN: 0in">Use Task Manager</H3>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">Open Task Manager and add the column named "Command Line". Look for the dllhost process with this command line</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style='FONT-SIZE: 9pt; FONT-FAMILY: "Lucida Console"; COLOR: #172b4d; MARGIN: 0in 0in 0in 0.375in'><SPAN style="BACKGROUND: #e8e8e8">C:\WINDOWS\system32\DllHost.exe /Processid:{88AB88AB-CDFB-4C68-9C3A-F10B75A5BC61}</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in 0in 0in 0.375in">&nbsp;</P>
<H1 lang=yo style="FONT-SIZE: 16pt; FONT-FAMILY: Calibri; COLOR: #1e4e79; MARGIN: 0in">Terminate A Running Instance</H1>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">There are times when the COM Surrogate process will not release resources, causing it to hang and remain in-process even if OneNote is stopped. You can terminate this process, dllhost, in one of two ways.</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H3 lang=yo style="FONT-SIZE: 12pt; FONT-FAMILY: Calibri; COLOR: #5b9bd5; MARGIN: 0in">Use the Process ID</H3>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">As mentioned above, the process ID is reported in the first line of each session in the log file. Stop the process from Task Manager or use the taskkill command</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style='FONT-SIZE: 9pt; FONT-FAMILY: "Lucida Console"; COLOR: #172b4d; MARGIN: 0in 0in 0in 0.375in'><SPAN style="BACKGROUND: #e8e8e8">taskkill /pid &lt;pid&gt; /f</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H3 lang=yo style="FONT-SIZE: 12pt; FONT-FAMILY: Calibri; COLOR: #5b9bd5; MARGIN: 0in">Use the stop.ps1 Script</H3>
<P lang=yo style="MARGIN: 0in"><SPAN style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri">An easier solution is to use the provided </SPAN><SPAN style='FONT-SIZE: 10pt; FONT-FAMILY: "Lucida Console"; BACKGROUND: #f1f1f1'>stop</SPAN><SPAN style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri"> script to forcefully terminate the dllhost process and OneNote. This is located in the OneMore solution directory. Run this from an administrative PowerShell window</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style='FONT-SIZE: 9pt; FONT-FAMILY: "Lucida Console"; COLOR: #172b4d; MARGIN: 0in 0in 0in 0.375in'><SPAN style="BACKGROUND: #e8e8e8">.\stop.ps1</SPAN></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H1 lang=yo style="FONT-SIZE: 16pt; FONT-FAMILY: Calibri; COLOR: #1e4e79; MARGIN: 0in">Enable OneNote Add-in Interface Error Reporting</H1>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">Normally, OneNote captures and supressed user interface errors from add-ins. This means there may be error in your add-in that are occurring but there is no indication that they are happening. These can be fixed but only if you know about them.</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">Open the OneNote options dialog, click the Advanced tab, and scroll to the bottom of the page. Enable the <SPAN style="FONT-STYLE: italic">Show add-in user interface errors</SPAN>. </P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">When an error occurs, OneNote will display a dialog showing the add-in method name that caused the error.</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P style="MARGIN: 0in"><IMG src="Debugging%20OneMore_files/image001.png" width=529 height=255></P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<H1 lang=yo style="FONT-SIZE: 16pt; FONT-FAMILY: Calibri; COLOR: #1e4e79; MARGIN: 0in">COM Timeouts</H1>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">The OneNote IApplication COM object will timeout if not used within a reasonable window (somewhere around a minute perhaps?) and, regardless of whether you've wrapped the call in a try/catch, OneNote will abort the call, display a dialog, and possibly leave OneNote in an unusable state. This can adversely affect a long-running debugging session. But in normal operations, OneMore makes every effort to minimize how long it holds on to an Application instance.</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P lang=yo style="FONT-SIZE: 11.5pt; FONT-FAMILY: Calibri; MARGIN: 0in">&nbsp;</P>
<P><CITE lang=yo style="FONT-SIZE: 9pt; FONT-FAMILY: Calibri; COLOR: #595959; MARGIN: 0in">#omwiki #omdeveloper</CITE></P>
<P><CITE lang=yo style="FONT-SIZE: 9pt; FONT-FAMILY: Calibri; COLOR: #595959; MARGIN: 0in">&nbsp;</CITE></P>
<P><CITE lang=yo style="FONT-SIZE: 10pt; FONT-FAMILY: Calibri; COLOR: #595959; MARGIN: 0in">© 2020 Steven M Cohn. All rights reserved.</CITE></P>
<P><CITE lang=yo style="FONT-SIZE: 10pt; FONT-FAMILY: Calibri; COLOR: #595959; MARGIN: 0in">Please consider a <A href="https://github.com/sponsors/stevencohn">sponsorship or one-time donation</A> to support ongoing development</CITE></P></DIV></DIV></DIV>
<DIV>
<P style="MARGIN: 0in">&nbsp;</P>
<P style="FONT-SIZE: 9pt; FONT-FAMILY: Arial; COLOR: #969696; DIRECTION: ltr; TEXT-ALIGN: left; MARGIN: 0in">Created with OneNote.</P></DIV>
    </div>

  </div>
  <script>
    $('#developers-section').addClass('active');
    let pageID = '#' + window.location.pathname.match(/.*\/(.*).htm$/)[1];
    pageID = pageID.toLowerCase().replace(/%20| |\./g,'-')
    if ( $(pageID).length > 0) { $(pageID).addClass('active'); }
  </script>
</body>

</html>
